/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itsc.dswII.view;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itsc.dswII.bl.PersonalBlLocal;
import mx.itsc.dswII.model.Persona;

/**
 *
 * @persona Lenovo-user
 */
@ManagedBean
@SessionScoped
public final class PersonaBean {
   //Llamadas a los EJB's
    @EJB
    private PersonalBlLocal personaBl;
    //Variables (Propiedades)
    private List<Persona> lista;
    private Persona persona;
    private String accion, desicion;
    private List<String> listaEstados;
    private List<String> listaSit;
    private List<String> listaEsc;
    /////////////////////

    public List<String> getListaEsc() {
        return listaEsc;
    }

    public void setListaEsc(List<String> listaEsc) {
        this.listaEsc = listaEsc;
    }

    public List<String> getListaEstados() {
        return listaEstados;
    }

    public void setListaEstados(List<String> listaEstados) {
        this.listaEstados = listaEstados;
    }

    public List<String> getListaSit() {
        return listaSit;
    }

    public void setListaSit(List<String> listaSit) {
        this.listaSit = listaSit;
    }
    

    
    public PersonaBean() {
        persona = new Persona();
        
        
      
    }

    public List<Persona> getLista() {
        lista = personaBl.getAll();
        return lista;
    }

    public Persona getPersona() {
        return persona;
    }

    public void setPersona(Persona persona) {
        this.persona = persona;
    }

    //Acciones es lo ultimo en ejecutarse
//    public String prepararNuevo() {
//        persona = new Persona();
//        return "AutthorCreateEdit";
//    }
    //Listeners es lo primero que se va a ejecutar y sabes datos de el como a que boton o componente se le dio click 
    // a que hora, donde, quien 
    public void prepararNuevo(ActionEvent evt) {
        accion = "Nuevo";
        persona = new Persona();
    }

    public void prepararEditar(ActionEvent evt) {
        accion = "Editar";
         lista = personaBl.getListByNombre(persona);
//        System.out.println(evt.getComponent().getClientId());
//        /*String arr[]=evt.getComponent().getClientId().split(":");
//         String id=arr[2];
//         int index=Integer.parseInt(id);
//         */
//        int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
//        persona = lista.get(index);
    }

    public void prepararEliminar(ActionEvent evt) {
        accion = "Eliminar";
//        System.out.println(evt.getComponent().getClientId());
//        int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
//        persona = lista.get(index);
        lista = personaBl.getListByNombre(persona);
    }

    public String procesarAccion() {
        if (accion.equalsIgnoreCase("Nuevo")) {
            personaBl.register(persona);

        } else {
            if (accion.equalsIgnoreCase("Editar")) {
                personaBl.modify(persona);
            } else {
                if (accion.equalsIgnoreCase("Eliminar")) {
                    personaBl.remove(persona);
                }
            }
        }

        accion = "";
        return "ListPersona";

    }

    public String procesarCancelar() {

       if(accion.equalsIgnoreCase("Editar")||accion.equalsIgnoreCase("Nuevo")
               ){
           desicion="CrearEditarPersona";
           
       }else{
           if(accion.equalsIgnoreCase("Eliminar")){
               desicion="ListPersona";
           }
       }
      return desicion;
    }
    
    public List<String> llenadoEstados(){
    
    
        listaEstados.add("Jalisco");
        listaEstados.add("Colima");
        listaEstados.add("Nayarit");
        listaEstados.add("Oaxaca");
        listaEstados.add("DF");
        listaEstados.add("Chihuahua");
        return listaEstados;
    }
    public List<String> llenadoSit(){
    
    listaSit.add("Becario");
    listaSit.add("DesEmpleado");
    listaSit.add("Empleado");
    return listaSit;
    
    }
   public List<String> llenadoEsc(){
   
   listaEsc.add("Primaria");
   listaEsc.add("Secundaria");
   listaEsc.add("Preparatoria");
   listaEsc.add("Universidad");
   listaEsc.add("PostGrado");
   listaEsc.add("Ninguna");
   return listaEsc;
   }
}
